package blog.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import blog.entity.Article;
/**
 * 文章的mapper类 接口绑定
 * @author 江佳洋
 *
 */
public interface ArticleMapper {
	/**
	 * 查询最近的n条文章
	 */
	public List<Article> listRecentArticle(Integer n);
	
	/**
	 * 根据id查询文章
	 * @param getArticleById
	 * @return
	 */
	public Article getArticleById(Integer getArticleById);
	/**
	 * 查询所有文章信息
	 * @return
	 */
	public List<Article> findAll(@Param("articleStatus")String articleStatus
			,@Param("articleTitle")String articleTitle
			,@Param("articleUpdateTime")String articleUpdateTime
			,@Param("articleParentCategoryId")String articleParentCategoryId
			,@Param("articleChildCategoryId")String articleChildCategoryId
			);
	/**
	 * 添加文章信息
	 */
	public void addArticle(Article article);
	/**
	 * 根据id删除文章信息
	 * @param articleId 文章id
	 */
	public void deleteArticle(Integer articleId);
	/**
	 * 修改文章信息
	 * @param article
	 */
	public void updateArticle(Article article);
	/**
	 * 查询每个用户拥有多少文章
	 * @param userId
	 * @return
	 */
	public Integer getUserArticleCountById(Integer userId);
	/**
	 * 根据用户查出该用户所拥有多少文章
	 * @param userId
	 * @return
	 */
	public List<Integer> getArticleByUserId(Integer userId);
}
